package com.yupi.example.provider;

/*
 * 编写服务实现类，实现公共模块中定义的用户服务接口。
 * 功能是打印用户的名称，并且返回参数中的用户对象。
 */

import com.yupi.example.common.service.UserService;
import com.yupi.yurpc.registry.LocalRegistry;
import com.yupi.yurpc.server.HttpServer;
import com.yupi.yurpc.server.VertxHttpServer;

/**
 * @program: yu-rpc
 * @description: Java Lotus
 * @author: spring
 * @create: 2024-10-23
 * 简易服务提供者示例
 */
/*
注意，本地服务注册器和注册中心的作用是有区别的。
注册中心的作用侧重于管理注册的服务、提供服务信息给消费者；
而本地服务注册器的作用是根据服务名获取到对应的实现类，是完成调用必不可少的模块。
 */
public class EasyProviderExample {

    //编写服务提供者启动类 EasyProviderExample，之后会在该类的 main 方法中编写提供服务的代码。
    public static void main(String[] args) {

        //提供服务，这个是rpc远程的服务提供者
        //注册服务
        LocalRegistry.register(UserService.class.getName(),UserServiceImpl.class);//通过接口去产生相关的参数

        //启动 web 服务
        HttpServer httpServer = new VertxHttpServer();

        //启动端口号
        httpServer.doStart(8080);

    }
}
